$(function () {
    let userid = localStorage.getItem("userId");
    findById(userid);
});

/*通过此方法进行查询*/
function findById(id) {
    let result = myAjax('/back/user/findById', 'get', {id: id, token: $.cookie("token")});
    setData(result.userModel);
}

/*对当前页面赋值*///也就是对页面的格式赋值
function setData(data) {
    $("#userid").val(data.id);
    $("#username").val(data.username);
    $("#phone").val(data.phone);
    $("input[name='sex'][value=" + data.sex + "]").prop("checked", true);
    $("#birthday").val(data.birthday);
    sethobby(data.hobby);
    $("#introduce").val(data.introduce);
}

/**
 * 多选框赋值选中
 * @param data
 */
function sethobby(data) {
    let hobby = data.split(",");
    $('input:checkbox[name="hobby"]').each(function () {

        for (let i = 0; i < hobby.length; i++) {
            if ($(this).val() == hobby[i].trim()) {
                $(this).attr('checked', true);
            }
        }

    });
}

function saveEdit() {
    let data = {
        id: $("#userid").val(),
        username: $("#username").val(),
        password: $("#password").val(),
        phone: $("#phone").val(),
        birthday: $("#birthday").val(),
        sex: $("input[name='sex']:checked").val(),
        hobby: hbList(),
        introduce: $("#introduce").val()
    };
    // console.log(data);
    let result = myAjax('/back/user/userEdit', 'post', data);
    if (result == 1) {
        $("#right").load('../back/user/userManage.html');
    } else {
        alert("修改失败！！！")
    }
}

function hbList() {
    let vote = [];
    /*
        attr和prop的区别
        1、对于HTML元素本身就带有的固有属性，在处理时，使用prop方法
        2、对于HTML元素我们自己自定义的DOM属性，在处理时，使用attr方法。
        3、checkbox，radio和select中对应checked和selected属于固有属性，因此需要用prop方法，用attr会出现undefined
        4、action="delete"，delete是自己定义的属性，用attr方法
     */
    $('input:checkbox[name=hobby]').each(function () {
        // console.log($(this).attr('checked',true));
        //设置true为全部选中
        if ($(this).prop('checked')) {
            vote.push($(this).val())
        }
    });
    //join(),不加参数默认","，加了参数以参数作为分隔符
    return vote.join();
    // return vote.toString();
}

function cancelEdit() {
    $("#right").load('../back/user/userManage.html');
}
